home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 323_01 / tess.doc < prev    next >
Text File  |  1990-08-04  |  7KB  |  169 lines

  1. Beyond The Tesseract - An abstract text adventure - (C) 1990 David Lo   Feb/90
  2.  
  3. This program is free software. If you like this program, hate it, or really
  4. don't care at all, then I would be happy to to hear from you.  Please share
  5. unmodified copies of this adventure with everyone you meet.
  6.  
  7.   David Lo
  8.   4516 Albert St.
  9.   Burnaby, B.C.   Canada
  10.   V5C 2G5
  11.  
  12.   email c/o: dlo@idacom.cs.ubc.ca
  13.  
  14. If you wish to distribute a modified version of this program, please keep my
  15. copyright intact, indicate that changes were made in the program and in the
  16. documentation, and list the changes made in the documentation.  And if
  17. possible please notify me of the changes, since I would like to keep track of
  18. all the different versions.
  19.  
  20.  
  21. Scenario:
  22. ---------
  23. You have reached the final part of your mission.  You have gained access to
  24. the complex, and all but the last procedure has been performed.  Now comes a
  25. time of waiting, in which you must search for the hidden 12-word message that
  26. will aid you at the final step.  But what choice will you make when that time
  27. comes?
  28.  
  29. The scenario for the adventure is meant to be vague.  Once the adventure has
  30. been completed, the scenario will hopefully become clear.
  31.  
  32.  
  33. Instructions:
  34. -------------
  35. This adventure recognizes the standard commands for moving (N,E,S,W), taking
  36. inventory (I), maninpulating objects (GET, DROP, LOOK), and saving games
  37. (SAVE, LOAD), as well as many others.  Use 2-word 'verb noun' commands, such
  38. as 'use stack' or 'get all'.  Only the first four letters of each word are
  39. significant.  The adventure recognizes about 200 words, so if one word doesn't
  40. work, try another.
  41.  
  42.  
  43. Notes:
  44. ------
  45. The "stack" is an acroynym for Space Time Activated Continuum Key.  You will
  46. find this object very useful.  Try the command "use stack".
  47.  
  48. This adventure is abstract and a bit on the technical side.  Basic knowledge
  49. of the names of interesting mathematical objects would be a definite asset in
  50. solving the puzzles.   However, detail knowledge of the technical background is
  51. not necessary, although it will make the adventure more enjoyable and reduce
  52. the amount of comments of the form "Was that suppose to be funny or what?  I
  53. don't get it"
  54.  
  55. There is no carry limit, no death traps, and over 200 words in the program's
  56. vocabulary, so you can hopefully concentrate on solving the adventure instead
  57. of solving the program.  The map of the adventure can be draw on a grid.  All
  58. it takes is a little experimenting to put all the subsets of locations
  59. together "logically".
  60.  
  61.  
  62. Compiling Notes:
  63. ----------------
  64. There are several source files for the adventure:
  65.   ADV-DEF.H    : main adventure data types
  66.   PARSER.C,H   : command parser
  67.   TESS-DEF.C,H : adventure world and vocabulary definition
  68.   TESS.C       : main adventure file
  69.  
  70. The adventure can be compiled using Turbo C 1.5.  This will result in the
  71. adventure using a split-screen format for the display.
  72.  
  73. Compiling with the "tty" symbol defined (-Dtty) will result in a scrolling,
  74. non-IBM dependent display that should work with most compilers and terminals.
  75. This can be done by uncommenting the line "TTY=-Dtty" in the makefile.
  76.  
  77. The following are some of the "non-classical" C features used:
  78.   enum
  79.   functional prototyping
  80.  
  81. In the function "intro", some compiler may give a warning about the variable
  82. "k" being used before it's defined.  This is intentionally done as part of
  83. the routine to reseed the random number generator.  The srand() routine
  84. along with the time() could have been used, but they add another 1-2K of code.
  85.  
  86.  
  87. History:
  88. -------
  89. Version    Date        Machine        Language         # Lines
  90. --------------------------------------------------------------
  91. 1.0        Jun. 1983   16K TRS-80     Level II BASIC   350
  92. 2.0        Sep. 1988   IBM-XT clone   Turbo C 1.5      2500
  93. 2.01       Mar. 1989       "                "
  94. 2.02       Oct. 1989       "                "
  95. 2.03       Feb. 1990       "                "
  96.  
  97. Tesseract Version 2.0 is my first MS-DOS adventure and an exercise in learning
  98. C.  Since this is a direct port of the old BASIC version, it may be smaller
  99. than some other adventures, and some of the coding might not be too clean.
  100. For the C version, appropriate changes were made to the data structures,
  101. additions and small changes made to some of the puzzles, and the ending
  102. expanded.  This version was posted to USENET.
  103.  
  104. Version 2.01 fixed a few bugs, notably the illegal pointer dereferencing
  105. when the probability prompt didn't get a decimal point in the input.
  106.  
  107. Version 2.02 reworded the probabilty puzzle so that it's more "logical",
  108. and removed the intro screen at the end so that you can quit without leaving
  109. a tell-tale sign of game playing!
  110.  
  111. Version 2.03 had some minor clean-up done, an extra hint added to the field
  112. puzzle, and the "look" command will finally print out the current room
  113. (relevant only to the tty version).  This version was sent to CUG.
  114.  
  115. The very first adventure that I wrote was in 1982, titled "Hall of the
  116. Mountain King" (find the Crystal of Light).  Tesseract Version 1.0 was the
  117. second of the three TRS-80 BASIC adventures that I wrote in a two month
  118. adventure-frenzy during the summer of 1983.  The first was "Project Triad"
  119. (defuse the bomb on the space station), and the third was "Codename Intrepid"
  120. (deliver a package to another agent).
  121.  
  122.  
  123. References:
  124. -----------
  125. The following books and reference works were used at one time or another
  126. as a source of information and/or inspiration:
  127.  
  128.   The Beauty of Fractals.
  129.   Collins Dictionary of Mathematics.
  130.   The Fontana Dictionary of Modern Thought.
  131.   The Fractal Geometry of Nature.
  132.   Godel, Escher, Bach: An Eternal Golden Braid.
  133.   The Heritage Illustrated Dictionary Of the English Language.
  134.   Mathematics: The New Golden Age.
  135.   The New Lexicon Webster's Dictionary, Encyclopedic Edition.
  136.   The Penguin Dictionary of Science, Fifth Edition.
  137.   Roget's International Thesaurus, Fourth Edition.
  138.   The Science of Fractal Images.
  139.   The VNR Concise Encyclopedia of Mathematics.
  140.   The World of M.C. Escher.
  141.  
  142.  
  143. Tesseract:
  144. ----------
  145. This is not the usual way you see tesseracts drawn, with two cubes sharing an
  146. edge.  But with the limitations of small ASCII characters, this was the best
  147. that I could do.
  148.  
  149.                /*--------------/*
  150.              /  '            /  '
  151.            /   '|          /   '|
  152.         */----'---------*/    ' |
  153.        '|    '  |      '|    '  |
  154.       ' |   '   |     ' |   '   |
  155.      '  |  '   /*----'--|--'---/*
  156.     '   | '  /  '   '   | '  /  '
  157.    '    |' /   '   '    |' /   '
  158.   '    /*/----'---'----/*/    '
  159.  '   /  '    '   '   /  '    '
  160. '  /   '|   '   '  /   '|   '
  161. */----'----'----*/    ' |  '
  162. |    '  | '     |    '  | '
  163. |   '   |'      |   '   |'
  164. |  '   /*-------|--'---/*
  165. | '  /          | '  /
  166. |' /            |' /
  167. */--------------*/
  168.  
  169.